Many modern mobile devices allow users to create and edit documents, such as notes. Often a user would like to “synchronize” data between two or more devices. It is desirable to have a system architecture that can synchronize data across multiple devices with reduced delay.